﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Configuration;
using InformesYEstadisticas.EntidadesEstadisticas;


namespace InformesYEstadisticas.AccesoBD
{
    public class Especialidades
    {
        public List<EntidadEspecialidades> obtenerEspecialidades(int mes)
        {

            List<EntidadEspecialidades> lista = null;

            string strConexion = ConfigurationManager.ConnectionStrings[1].ToString();//.ConnectionString;
            SqlConnection conexion = new SqlConnection(strConexion);
            conexion.Open();
            try
            {
                SqlCommand sqlcmd = new SqlCommand("SELECT Turno.idEspecialidad, Especialidad.nombre, COUNT(Turno.idEspecialidad) as Cantidad FROM Turno INNER JOIN Especialidad ON Turno.idEspecialidad = Especialidad.codEspecialidad WHERE Month (Turno.fechaGeneracion) = @mes GROUP BY Turno.idEspecialidad, Especialidad.nombre ORDER BY Cantidad desc", conexion);
                sqlcmd.Parameters.Add(new SqlParameter("@mes", mes));

                SqlDataReader dr = sqlcmd.ExecuteReader();

                lista = new List<EntidadEspecialidades>();

                while (dr.Read())
                {
                    EntidadEspecialidades ei = new EntidadEspecialidades();
                    ei.codigo = Convert.ToInt32(dr["idEspecialidad"].ToString());
                    ei.nombre = (dr["nombre"].ToString());
                    ei.cantidad = Convert.ToInt32(dr["Cantidad"].ToString());

                    lista.Add(ei);


                    ei = null;
                }




            }
            catch (Exception ex)
            {

                throw ex;
            }
            finally
            {
                conexion.Close();
            }

            return lista;
        }
    }
}
